Everything about Domain Theory totally explained
Domain theory is a branch of
mathematics that studies special kinds of
partially ordered sets (posets) commonly called
domains. Consequently, domain theory can be considered as a branch of
order theory. The field has major applications in
computer science, where it's used to specify
denotational semantics, especially for
functional programming languages. Domain theory formalizes the intuitive ideas of approximation and convergence in a very general way and has close relations to
topology. An alternative important approach to denotational semantics in computer science is that of
metric spaces.
Motivation and intuition
The primary motivation for the study of domains, which was initiated by
Dana Scott in the late 1960s, was the search for a
denotational semantics of the
lambda calculus. In this formalism, one considers "functions" specified by certain terms in the language. In a purely
syntactic way, one can go from simple functions to functions that take other functions as their input arguments. Using again just the syntactic transformations available in this formalism, one can obtain so called
fixed point combinators (the most well-known of which is the
Y combinator); these, by definition, have the property that
f(
Y(
f)) =
Y(
f) for all functions
f.
To formulate such a denotational semantics, one might first try to construct a
model for the lambda calculus, in which a genuine (total) function is associated with each lambda term. Such a model would formalize a link between the lambda calculus as a purely syntactic system and the lambda calculus as a notational system for manipulating concrete mathematical functions. Unfortunately, such a model can't exist, for if it did, it would have to contain a genuine, total function that corresponds to the combinator
Y, that is, a function that computes a
fixed point of an
arbitrary input function
f. There can be no such function for
Y, because some functions (for example, the
successor function) don't have a fixed point. At best, the genuine function corresponding to
Y would have to be a
partial function, necessarily undefined at some inputs.
Scott got around this difficulty by formalizing a notion of "partial" or "incomplete" information to represent computations that have not yet returned a result. This was modeled by considering, for each domain of computation (for example the natural numbers), an additional element that represents an
undefined output, for example the "result" of a computation that never ends. In addition, the domain of computation is equipped with an
ordering relation, in which the "undefined result" is the
least element.
The important step to find a model for the lambda calculus is to consider only those functions (on such a partially ordered set) which are guaranteed to have least fixed points. The set of these functions, together with an appropriate ordering, is again a "domain" in the sense of the theory. But the restriction to a subset of all available functions has another great benefit: it's possible to obtain domains that contain their own
function spaces, for example one gets functions that can be applied to themselves.
Beside these desirable properties, domain theory also allows for an appealing intuitive interpretation. As mentioned above, the domains of computation are always partially ordered. This ordering represents a hierarchy of information or knowledge. The higher an element is within the order, the more specific it's and the more information it contains. Lower elements represent incomplete knowledge or intermediate results.
Computation then is modeled by applying
monotone functions repeatedly on elements of the domain in order to refine a result. Reaching a
fixed point is equivalent to finishing a calculation. Domains provide a superior setting for these ideas since fixed points of monotone functions can be guaranteed to exist and, under additional restrictions, can be approximated from below.
A guide to the formal definitions
In this section, the central concepts and definitions of domain theory will be introduced. The above intuition of domains being
information orderings will be emphasized to motivate the mathematical formalization of the theory. The precise formal definitions are to be found in the dedicated articles for each concept. A list of general order-theoretic definitions which include domain theoretic notions as well can be found in the
order theory glossary. The most important concepts of domain theory will nonetheless be introduced below.
Directed sets as converging specifications
As mentioned before, domain theory deals with
partially ordered sets to model a domain of computation. The goal is to interpret the elements of such an order as
pieces of information or
(partial) results of a computation, where elements that are higher in the order extend the information of the elements below them in a consistent way. From this simple intuition it's already clear that domains often don't have a
greatest element, since this would mean that there's an element that contains the information of
all other elements - a rather uninteresting situation.
A concept that plays an important role in the theory is the one of a
directed subset of a domain, for example of a non-empty subset of the order in which each two elements have some
upper bound. In view of our intuition about domains, this means that every two pieces of information within the directed subset are
consistently extended by some other element in the subset. Hence we can view directed sets as
consistent specifications, for example as sets of partial results in which no two elements are contradictory. This interpretation can be compared with the notion of a
sequence in
analysis, where each element is more specific than the preceding one. Indeed, in the theory of
metric spaces, sequences play a role that's in many aspects analogous to the role of directed sets in domain theory.
Now, as in the case of sequences, we're interested in the
limit of a directed set. According to what was said above, this would be an element that's the most general piece of information which extends the information of all elements of the directed set, for example the unique element that contains
exactly the information that was present in the directed set - and nothing more. In the formalization of order theory, this is just the
least upper bound of the directed set. As in the case of limits of sequences, least upper bounds of directed sets don't always exist.
Naturally, one has a special interest in those domains of computations in which all consistent specifications
converge, for example in orders in which all directed sets have a least upper bound. This property defines the class of
directed complete partial orders, or
dcpo for short. Indeed, most considerations of domain theory do only consider orders that are at least directed complete.
From the underlying idea of partially specified results as representing incomplete knowledge, one derives another desirable property: the existence of a
least element. Such an element models that state of no information - the place where most computations start. It also can be regarded as the output of a computation that doesn't return any result at all.
Computations and domains
Now that we've some basic formal descriptions of what a domain of computation should be, we can turn to the computations themselves. Clearly, these have to be functions, taking inputs from some computational domain and returning outputs in some (possibly different) domain. However, one would also expect that the output of a function will contain more information when the information content of the input is increased. Formally, this means that we want a function to be
monotonic.
When dealing with dcpos, one might also want computations to be compatible with the formation of limits of a directed set. Formally, this means that, for some function
f, the image
f(
D) of a directed set
D (for example the set of the images of each element of
D) is again directed and has as a least upper bound the image of the least upper bound of
D. One could also say that
f preserves directed suprema. Also note that, by considering directed sets of two elements, such a function also has to be monotonic. These properties give rise to the notion of a
Scott-continuous function. Since this often isn't ambiguous one also may speak of
continuous functions.
Approximation and finiteness
Domain theory is a purely
qualitative approach to modeling the structure of information states. One can say that something contains more information, but the amount of additional information isn't specified. Yet, there are some situations in which one wants to speak about elements that are in a sense much more simple (or much more incomplete) than a given state of information. For example, in the natural subset-inclusion ordering on some
powerset, any infinite element (for example set) is much more "informative" than any of its
finite subsets.
If one wants to model such a relationship, one may first want to consider the induced strict order < of a domain with order ≤. However, while this is a useful notion in the case of total orders, it doesn't tell us much in the case of partially ordered sets. Considering again inclusion-orders of sets, a set is already strictly smaller than another, possibly infinite, set if it contains just one less element. One would, however, hardly agree that this captures the notion of being "much simpler".
Way-below relation
A more elaborate approach leads to the definition of the so-called
order of approximation, which is more suggestively also called the
way-below relation. An element
x is
way below an element
y, if, for every directed set
D with supremum
» y ≤
D,
there is some element
d in
D such that
» x ≤
d.
Then one also says that
x approximates y and writes
» x <<
y.
This does imply that
» x ≤
y,
since the singleton set, ...
Since the supremum of this chain is the set of all natural numbers
N, this shows that no infinite set is way below
N.
However, being way below some element is a
relative notion and doesn't reveal much about an element alone. For example, one would like to characterize finite sets in an order-theoretic way, but even infinite sets can be way below some other set. The special property of these
finite elements
x is that they're way below themselves, for example
» x <<
x.
An element with this property is also called
compact. Yet, such elements don't have to be "finite" nor "compact" in any other mathematical usage of the terms. The notation is nonetheless motivated by certain parallels to the respective notions in
set theory and
topology. The compact elements of a domain have the important special property that they can't be obtained as a limit of a directed set in which they didn't already occur.
Many other important results about the way-below relation support the claim that this definition is appropriate to capture many important aspects of a domain.
Bases of domains
The previous thoughts raise another question: is it possible to guarantee that all elements of a domain can be obtained as a limit of much simpler elements? This is quite relevant in practice, since we can't compute infinite objects but we may still hope to approximate them arbitrarily closely.
More generally, we'd like to restrict to a certain subset of elements as being sufficient for getting all other elements as least upper bounds. Hence, one defines a
base of a poset
P as being a subset
B of
P, such that, for each
x in
P, the set of elements in
B that are way below
x contains a directed set with supremum
x. The poset
P is a
continuous poset if it has some base. Especially,
P itself is a base in this situation. In many applications, one restricts to continuous (d)cpos as a main object of study.
Finally, an even stronger restriction on a partially ordered set is given by requiring the existence of a base of
compact elements. Such a poset is called
algebraic. From the viewpoint of denotational semantics, algebraic posets are particularly well-behaved, since they allow for the approximation of all elements even when restricting to finite ones. As remarked before, not every finite element is "finite" in a classical sense and it may well be that the finite elements constitute an
uncountable set.
In some cases, however, the base for a poset is
countable. In this case, one speaks of an
ω-continuous poset. Accordingly, if the countable base consists entirely of finite elements, we obtain an order that's
ω-algebraic.
Special types of domains
A simple special case of a domain is known as an
elementary or
flat domain. This consists of a set of incomparable elements, such as the integers, along with a single "bottom" element considered smaller than all other elements.
One can obtain a number of other interesting special classes of ordered structures that could be suitable as "domains". We already mentioned continuous posets and algebraic posets. More special versions of both are continuous and algebraic
cpos. Adding even further
completeness properties one obtains
continuous lattices and
algebraic lattices, which are just
complete lattices with the respective properties. For the algebraic case, one finds broader classes of posets which are still worth studying: historically, the
Scott domains were the first structures to be studied in domain theory. Still wider classes of domains are constituted by
SFP-domains,
L-domains, and
bifinite domains.
All of these classes of orders can be cast into various
categories of dcpos, using functions which are monotone, Scott-continuous, or even more specialized as morphisms. Finally, note that the term
domain itself isn't exact and thus is only used as an abbreviation when a formal definition has been given before or when the details are irrelevant.
Important results
A poset
D is a dcpo if and only if each chain in
D has a supremum. However, directed sets are strictly more powerful than chains.
If
f is a continuous function on a poset
D then it has a least fixed point, given as the least upper bound of all finite iterations of
f on the least element
0: V
n in N f n(
0).
Further Information
Get more info on 'Domain Theory'.
|
External Link Exchanges
Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:
<a href="http://domain_theory.totallyexplained.com">Domain theory Totally Explained</a>
Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned. |